Framework for integrated test
Framework for integrated test is a software developed Ward Cunningham, 2002.
Great software requires collaboration and communication. Fit is a tool for enhancing collaboration in software development. It’s an invaluable way to collaborate on complicated problems—and get them right—early in development.
Fit allows customers, testers, and programmers to learn what their software should do and what it does do. It automatically compares customers’ expectations to actual results.
FIT은 이후 Robert Cecil Martin의 FitNesse로 이어지고, 이는 다시 Jason Huggins에 의해 Selenium IDE로 이어진다.
협업을 장려하기
고객, 기획자 등 비개발직군 사람이 MS-Word로 요구사항(인수 테스트 문서)을 작성하는데, 문서 중간에 표 형태로 예시를 넣어주면 이게 실행되어 현재 개발 중인 소프트웨어가 명세에 맞는지 쉽게 확인할 수 있는 방식이다.
기술적 구현 방식보다 중요한 건, 1) 이걸 사용하기 위해 개발자와 고객(기획자)가 필연적으로 소통을 많이 하게 되는 점, 2) 구현 전에 명세를 만들게 되는 점(Acceptance TDD), 3) 명세를 점진적으로 구체화할 수 있고 그러길 장려하는 점 등, 일하는 방식을 특정 방향으로 유도한다는 사실이다.
최소한의 코드로 요구사항을 만족시키기
FIT의 요구사항을 추측해보면 이렇다.
- 워드 프로세서에서 쓸 수 있을 것
- 문서 중간 중간에 테스트 명세를 넣을 수 있을 것
- 테스트 명세가 실행되고 그 결과를 워드 안에서 바로 볼 수 있을 것
대다수의 개발자라면 이걸 개발하기 위해 MS-Word의 COM API를 공부하기 시작하겠지만 W. Cunningham은 다르게 접근했다. 워드에 HTML 저장 기능을 사용하고 FIT는 그냥 <table>
요소만 추출해서 테스트 실행 후 결과를 적절히 덮어쓰면 끝.
W.C.는 이런 식으로 불필요한 ‘기술 덜 쓰기’에 매우 능했다. 매우 부럽고, 닮고 싶은 능력.